package cn.zswltech.gruul.common.dal.dao;

import cn.zswltech.gruul.common.dal.query.UserQuery;
import cn.zswltech.gruul.common.dal.tkmybatis.IMapper;
import cn.zswltech.gruul.common.entity.UserDO;
import cn.zswltech.gruul.common.dal.vo.UserVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;
@Mapper
public interface UserDOMapper extends IMapper<UserDO> {
    int queryPageCount(UserQuery query);

    List<UserVO> queryPage(UserQuery query);

    UserVO selectFullInfoById(Long id);

    List<Map<String, Object>> selectMenuTreeByRoles(List<Long> roles);

    List<Map<String, Object>> selectGroupByRoles(List<Long> roles);

    List<UserDO> queryByRoleId(@Param(value = "roleId") Long roleId);

    List<UserDO> selectByIds(@Param("ids") List<Long> ids);

    List<UserDO> queryLikeJobs(@Param("code") String code, @Param("userIds") List<Long> userIds);

    List<UserDO> queryByJob(@Param("code") String code);
}